package com.jvm.coline.part4.clazzload;

/**
 *被动使用类字段演示一：
 *通过子类引用父类的静态字段，不会导致子类初始化
 **/
public class NotInitialization {
	public static void main(String[]args){
        /*
         * 1.直接打印子类中的 静态变量:
		 *   如果通过子类引用父类中的静态字段，只会触发父类的初始化，而不会触发子类的初始化
         */
        System.out.println("-----------------------------");
//        System.out.println(SubClaszz.value);
        /*
         * 2. 使用数组的方式，不会初始化静态代码块
         */
        System.out.println("-----------------------------");
        SuperClazz[] sca = new SuperClazz[10];
        /*
         * 3. 打印一个常量
         *    常量池：class编译后，常量池的信息也放入class类中，后续对常量修改需要重新编译
         */
        System.out.println("-----------------------------");
        System.out.println(SubClaszz.HELLOWORLD);
        System.out.println("-----------------------------");
        /*
         * 4. 如果使用常量去引用另外一个常量(会不会进行初始化)
         */
		System.out.println(SubClaszz.WHAT);
	}
}
